// src/router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '@/components/Login.vue'
import UserList from '@/views/UserList.vue'
import Home from '@/views/Home.vue' // 添加导入

Vue.use(VueRouter)

const routes = [
  {
    path: '/login',
    component: Login,
    name: 'Login'
  },
  {
    path: '/users',
    component: UserList,
    name: 'Users'
  },
  {
    path: '/',
    component: Home, // 将首页指向 Home 组件
    name: 'Home'
  }
  // 如果需要，可以添加重定向规则
  // { path: '/', redirect: '/home' }
]

const router = new VueRouter({
  mode: 'history',
  routes
})

// 路由守卫：未登录不能访问受保护的页面
router.beforeEach((to, from, next) => {
  // 白名单：不需要登录的页面
  const whiteList = ['/login']

  // 检查是否已登录
  const user = localStorage.getItem('user')
  const token = localStorage.getItem('token')

  if (whiteList.indexOf(to.path) !== -1) {
    // 访问白名单页面，直接通过
    next()
  } else {
    // 访问需要登录的页面
    if (user || token) {
      // 已登录，允许访问
      next()
    } else {
      // 未登录，重定向到登录页
      next('/login')
    }
  }
})

export default router
